package pack.bean;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.ValidatorException;
import javax.persistence.EntityManager;

import pack.metier.Centre;
import pack.persistence.Connexion;

@ManagedBean
public class GestionCentre {	
	private long modifCentre;
	private long idCentre;
	private String nomCentre;
	private String adresseLigne1;
	private String adresseLigne2;
	private String codePostal;
	private String ville;
	
	public void chargeCentre(){		
		Connexion connexion = new Connexion();
		EntityManager em = connexion.getEm();
		Centre centre = em.find(Centre.class, modifCentre);
		if (centre==null) return;
		idCentre=centre.getIdCentre();
		nomCentre=centre.getNomCentre(); 
		adresseLigne1=centre.getAdresseLigne1(); 
		adresseLigne2=centre.getAdresseLigne2(); 
		codePostal=centre.getCodePostal();
		ville=centre.getVille();	
	}

	public long getModifCentre() {
		return modifCentre;
	}

	public void setModifCentre(long modifCentre) {
		this.modifCentre = modifCentre;
	}

	public long getIdCentre() {
		return idCentre;
	}

	public void setIdCentre(long idCentre) {
		this.idCentre = idCentre;
	}

	public String getNomCentre() {
		return nomCentre;
	}

	public void setNomCentre(String nomCentre) {
		this.nomCentre = nomCentre;
	}

	public String getAdresseLigne1() {
		return adresseLigne1;
	}

	public void setAdresseLigne1(String adresseLigne1) {
		this.adresseLigne1 = adresseLigne1;
	}

	public String getAdresseLigne2() {
		return adresseLigne2;
	}

	public void setAdresseLigne2(String adresseLigne2) {
		this.adresseLigne2 = adresseLigne2;
	}

	public String getCodePostal() {
		return codePostal;
	}

	public void setCodePostal(String codePostal) {
		this.codePostal = codePostal;
	}

	public String getVille() {
		return ville;
	}

	public void setVille(String ville) {
		this.ville = ville;
	}
	
	public void verificationChampVide(FacesContext context, UIComponent uic, Object valeur)
			throws ValidatorException{
		String valeur2 = ((String)valeur).trim();
		if (valeur==null || valeur2.trim().length()==0) throw new ValidatorException(new FacesMessage("Le champ ne peut etre vide"));
	}

	public String verification() {
		Centre unCentre = new Centre(nomCentre, adresseLigne1, adresseLigne2, codePostal, ville);
		Connexion.persist(unCentre);
		return "centre_liste.xhtml";
	}

	public String verification_modification() {
		Centre unCentre = new Centre(modifCentre, nomCentre, adresseLigne1, adresseLigne2, codePostal, ville);
		Connexion.persist(unCentre);
		return "centre_liste.xhtml";
	}

	public String cancel_modification() {
		return "centre_liste.xhtml";
	}
	
}
